#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "context.h"
#include "qcontainerfwd.h"
#include "qlogging.h"
#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui
{
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT
  private:
    Context *context;
    Ui::MainWindow *ui;

  public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
  public slots:
    void OnFrameDriveChangedByUser()
    {
        // SendFrameDrive();
        qDebug("FrameDriveChangedByUser");
    }
    void OnFrameControlChangedByUser()
    {
        // SendFrameControl();
        qDebug("FrameControlChangedByUser");
    };

  private:
    void OnKey(KeyDevice::KeyCode code);
    void OnJS(QVector<float> values);
    void UpdateFrameState();
    void SendFrameDrive();
    void SendFrameControl();
};
#endif // MAINWINDOW_H
